11111

COURSE INTRODUCTION AND APPLICATION INFORMATION


se.cs.ieu.edu.tr

Course Name
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
Fall
Prerequisites
 SE 116To succeed (To get a grade of at least DD)
Course Language
Course Type
Required
Course Level
-
Mode of Delivery -
Teaching Methods and Techniques of the Course
Course Coordinator -
Course Lecturer(s) -
Assistant(s) -
Course Objectives
Learning Outcomes The students who succeeded in this course;
  • Be able to identify the classification of a pattern
  • Be able to state the intention and motivation of the pattern.
  • Be able to draw the structure of the pattern in UML notation.
  • Be able to identify the participants and describe their responsibilities.
  • Be able to suggest sample applications areas.
  • Be able to contrast the difference in intentions between structurally similar patterns.
  • Be able to apply several appropriate patterns in the design of small programming assignments.
  • Be able to select appropriate design patterns to refactor an existing design.
Course Description

 



Course Category

Core Courses
X
Major Area Courses
Supportive Courses
Media and Managment Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Required Materials
1 Introduction to Design Patterns “Design patterns: Elements of Reusable ObjectOriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides. GHJV. Chapter 1.
2 A refresher on Object Oriented Design and UML. Any book on object oriented design and programming. Instructor notes.
3 Iterator Pattern (Behavioral) Design Patterns Gamma, Helm, Johnson and Vlissides (GHJV) pp 257 271
4 Composite Pattern (Structural) Design Patterns GHJV pp 163 173
5 Command Pattern (Behavioral) Design Patterns GHJV pp 233 242
6 Factory and Abstract Factory (Creational) Design Patterns GHJV pp 87 95, 107 116
7 Singleton Pattern (Creational) Design Patterns GHJV pp 127 134
8 MIDTERM EXAM
9 Facade Pattern (Structural) Design Patterns GHJV pp 185 193
10 Adapter Pattern (Structural) Design Patterns GHJV pp 139 150
11 Template Pattern (Structural) Design Patterns GHJV pp 325 330
12 Observer Pattern (Behavioral) Design Patterns GHJV pp 293 303
13 Visitor Pattern (Behavioral) Design Patterns GHJV pp 331 344
14 Review Design Patterns GHJV
15 Project Discussions and Presentations Source Code and Project Report
16 Review of the Semester  
Course Notes/Textbooks “Design patterns: Elements of Reusable ObjectOriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides. AddisonWesley. 1995.Instructor notes and materials.
Suggested Readings/Materials Metseker and Wake “Design Patterns in Java”, AddisonWesley, 2006.

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
Laboratory / Application
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
2
10
Presentation / Jury
Project
1
15
Seminar / Workshop
Oral Exam
Midterm
1
35
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
4
60
Weighting of End-of-Semester Activities on the Final Grade
1
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: 16 x total hours)
16
Study Hours Out of Class
16
2
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
2
5
Presentation / Jury
Project
1
20
Seminar / Workshop
Oral Exam
Midterms
1
15
Final Exams
1
15
    Total
140

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute X
2 Be able to design and analyze software at component, subsystem, and software architecture level X
3 Be able to develop software by coding, verifying, doing unit testing and debugging X
4 Be able to verify software by testing its behaviour, execution conditions, and expected results X
5 Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation X
6 Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically X
7 To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning
X
8 Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes X
9 Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance X
10 To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software X
11 To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering X
12 Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering X
13

Be able to use a foreign language to follow related field publications and communicate with colleagues

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 

İzmir Ekonomi Üniversitesi | Sakarya Caddesi No:156, 35330 Balçova - İZMİR Tel: +90 232 279 25 25 | webmaster@ieu.edu.tr | YBS 2010